﻿using System.Collections.Generic;

namespace Jinjia.Approve.Model.VM.JJFlow.FeiShu
{
    public class FeiShuTripartiteApprovalRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public string approval_code { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string instance_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string status { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string extra { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Links links { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string title { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<Form> form { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string user_id { get; set; }

        /// <summary>
        /// 张三
        /// </summary>
        public string user_name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string open_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string department_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string department_name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string start_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string update_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string end_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string update_mode { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<FeiShuTripartiteTask> task_list { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<FeiShuTripartiteCC> cc_list { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<I18nResourcesItem> i18n_resources { get; set; } = new List<I18nResourcesItem>();
    }

    public class Links
    {
        /// <summary>
        /// 
        /// </summary>
        public string pc_link { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string mobile_link { get; set; }
    }

    public class Form
    {
        /// <summary>
        /// 
        /// </summary>
        public string name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string value { get; set; }
    }

    public class ActionConfig
    {
        /// <summary>
        /// 
        /// </summary>
        public string action_type { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string action_name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string is_need_reason { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string is_reason_required { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string is_need_attachment { get; set; }
    }

    public class FeiShuTripartiteTask
    {
        /// <summary>
        /// 
        /// </summary>
        public string task_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string user_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Links links { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string status { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string extra { get; set; }

        /// <summary>
        /// 同意
        /// </summary>
        public string title { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public long create_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public long end_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public long update_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string action_context { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<ActionConfig> action_configs { get; set; }
    }

    public class FeiShuTripartiteCC
    {
        /// <summary>
        /// 
        /// </summary>
        public string cc_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string user_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string open_id { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Links links { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string read_status { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string extra { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string title { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string create_time { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string update_time { get; set; }
    }

    public class FeiShuTripartiteText
    {
        /// <summary>
        /// 
        /// </summary>
        public string key { get; set; }

        /// <summary>
        /// 测试
        /// </summary>
        public string value { get; set; }
    }

    public class I18nResourcesItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string locale { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool is_default { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public List<FeiShuTripartiteText> texts { get; set; }
    }
}